<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>视频添加背景音乐功能指南</title>
    <style>
        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            line-height: 1.6;
            margin: 0;
            padding: 20px;
            background-color: #f5f5f5;
        }
        .container {
            max-width: 1200px;
            margin: 0 auto;
            background: white;
            padding: 30px;
            border-radius: 10px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        }
        h1 {
            color: #2c3e50;
            text-align: center;
            border-bottom: 3px solid #3498db;
            padding-bottom: 10px;
        }
        h2 {
            color: #34495e;
            margin-top: 30px;
            border-left: 4px solid #3498db;
            padding-left: 15px;
        }
        h3 {
            color: #2c3e50;
            margin-top: 25px;
        }
        .api-endpoint {
            background: #ecf0f1;
            padding: 15px;
            border-radius: 5px;
            margin: 15px 0;
            border-left: 4px solid #e74c3c;
        }
        .code-block {
            background: #2c3e50;
            color: #ecf0f1;
            padding: 15px;
            border-radius: 5px;
            overflow-x: auto;
            font-family: 'Courier New', monospace;
        }
        .feature-list {
            background: #e8f5e8;
            padding: 15px;
            border-radius: 5px;
            margin: 15px 0;
        }
        .warning {
            background: #fff3cd;
            border: 1px solid #ffeaa7;
            color: #856404;
            padding: 15px;
            border-radius: 5px;
            margin: 15px 0;
        }
        .success {
            background: #d4edda;
            border: 1px solid #c3e6cb;
            color: #155724;
            padding: 15px;
            border-radius: 5px;
            margin: 15px 0;
        }
        table {
            width: 100%;
            border-collapse: collapse;
            margin: 15px 0;
        }
        th, td {
            border: 1px solid #ddd;
            padding: 12px;
            text-align: left;
        }
        th {
            background-color: #3498db;
            color: white;
        }
        tr:nth-child(even) {
            background-color: #f2f2f2;
        }
        .example {
            background: #f8f9fa;
            border: 1px solid #dee2e6;
            border-radius: 5px;
            padding: 20px;
            margin: 15px 0;
        }
        .emoji {
            font-size: 1.2em;
        }
    </style>
</head>
<body>
    <div class="container">
        <h1><span class="emoji">🎵</span> 视频添加背景音乐功能指南</h1>
        
        <div class="success">
            <strong>✨ 新功能上线！</strong> 现在您可以为视频添加背景音乐了。支持音量调节、循环播放、淡入淡出等高级功能。
        </div>

        <h2>📋 功能概述</h2>
        <p>视频添加背景音乐功能允许您为任何视频文件添加背景音乐，同时保留原视频的音频。该功能提供了两个API端点：</p>
        
        <ul>
            <li><strong>简单版本</strong>：基本的背景音乐添加功能</li>
            <li><strong>高级版本</strong>：包含淡入淡出、时间段选择等高级选项</li>
        </ul>

        <h2>🎯 API端点</h2>

        <h3>1. 简单版本 - 基础背景音乐添加</h3>
        <div class="api-endpoint">
            <strong>POST</strong> /video/add_background_music
        </div>

        <h4>参数说明：</h4>
        <table>
            <tr>
                <th>参数名</th>
                <th>类型</th>
                <th>必需</th>
                <th>默认值</th>
                <th>说明</th>
            </tr>
            <tr>
                <td>video</td>
                <td>文件</td>
                <td>是</td>
                <td>-</td>
                <td>视频文件</td>
            </tr>
            <tr>
                <td>music</td>
                <td>文件</td>
                <td>是</td>
                <td>-</td>
                <td>背景音乐文件</td>
            </tr>
            <tr>
                <td>volume_ratio</td>
                <td>float</td>
                <td>否</td>
                <td>0.3</td>
                <td>背景音乐音量比例 (0.0-1.0)</td>
            </tr>
            <tr>
                <td>loop_music</td>
                <td>boolean</td>
                <td>否</td>
                <td>true</td>
                <td>是否循环播放音乐</td>
            </tr>
        </table>

        <h3>2. 高级版本 - 带更多选项的背景音乐添加</h3>
        <div class="api-endpoint">
            <strong>POST</strong> /video/add_background_music_with_options
        </div>

        <h4>参数说明：</h4>
        <table>
            <tr>
                <th>参数名</th>
                <th>类型</th>
                <th>必需</th>
                <th>默认值</th>
                <th>说明</th>
            </tr>
            <tr>
                <td>video</td>
                <td>文件</td>
                <td>是</td>
                <td>-</td>
                <td>视频文件</td>
            </tr>
            <tr>
                <td>music</td>
                <td>文件</td>
                <td>是</td>
                <td>-</td>
                <td>背景音乐文件</td>
            </tr>
            <tr>
                <td>volume_ratio</td>
                <td>float</td>
                <td>否</td>
                <td>0.3</td>
                <td>背景音乐音量比例 (0.0-1.0)</td>
            </tr>
            <tr>
                <td>loop_music</td>
                <td>boolean</td>
                <td>否</td>
                <td>true</td>
                <td>是否循环播放音乐</td>
            </tr>
            <tr>
                <td>fade_in_duration</td>
                <td>float</td>
                <td>否</td>
                <td>0</td>
                <td>淡入时长（秒）</td>
            </tr>
            <tr>
                <td>fade_out_duration</td>
                <td>float</td>
                <td>否</td>
                <td>0</td>
                <td>淡出时长（秒）</td>
            </tr>
            <tr>
                <td>start_time</td>
                <td>float</td>
                <td>否</td>
                <td>0</td>
                <td>音乐开始时间（秒）</td>
            </tr>
            <tr>
                <td>end_time</td>
                <td>float</td>
                <td>否</td>
                <td>None</td>
                <td>音乐结束时间（秒）</td>
            </tr>
        </table>

        <h2>💡 功能特点</h2>
        <div class="feature-list">
            <ul>
                <li><strong>🎵 智能循环</strong>：如果音乐比视频短，会自动循环播放</li>
                <li><strong>🔊 音量调节</strong>：可调节背景音乐音量，不影响原视频音频</li>
                <li><strong>🎚️ 淡入淡出</strong>：支持音乐淡入淡出效果，让过渡更自然</li>
                <li><strong>⏰ 时间段选择</strong>：可以指定使用音乐的特定时间段</li>
                <li><strong>🎬 保留原声</strong>：保留原视频的音频，与背景音乐混合</li>
                <li><strong>🎯 高质量输出</strong>：使用高质量音频编码，确保音质</li>
            </ul>
        </div>

        <h2>📁 支持的文件格式</h2>
        
        <h3>视频格式：</h3>
        <ul>
            <li>MP4 (.mp4)</li>
            <li>AVI (.avi)</li>
            <li>MOV (.mov)</li>
            <li>MKV (.mkv)</li>
            <li>WMV (.wmv)</li>
            <li>FLV (.flv)</li>
            <li>WebM (.webm)</li>
        </ul>

        <h3>音频格式：</h3>
        <ul>
            <li>MP3 (.mp3)</li>
            <li>WAV (.wav)</li>
            <li>AAC (.aac)</li>
            <li>OGG (.ogg)</li>
        </ul>

        <h2>🚀 使用示例</h2>

        <h3>Python示例 - 简单版本</h3>
        <div class="example">
            <div class="code-block">
import requests

url = "http://localhost:5000/video/add_background_music"

# 准备文件
with open('video.mp4', 'rb') as video_file, open('music.mp3', 'rb') as music_file:
    files = {
        'video': video_file,
        'music': music_file
    }
    
    data = {
        'volume_ratio': '0.3',
        'loop_music': 'true'
    }
    
    response = requests.post(url, files=files, data=data)
    
    if response.status_code == 200:
        with open('output.mp4', 'wb') as f:
            f.write(response.content)
        print("✅ 背景音乐添加成功！")
            </div>
        </div>

        <h3>Python示例 - 高级版本</h3>
        <div class="example">
            <div class="code-block">
import requests

url = "http://localhost:5000/video/add_background_music_with_options"

# 准备文件
with open('video.mp4', 'rb') as video_file, open('music.mp3', 'rb') as music_file:
    files = {
        'video': video_file,
        'music': music_file
    }
    
    data = {
        'volume_ratio': '0.4',
        'loop_music': 'true',
        'fade_in_duration': '2.0',
        'fade_out_duration': '3.0',
        'start_time': '10.0',
        'end_time': '60.0'
    }
    
    response = requests.post(url, files=files, data=data)
    
    if response.status_code == 200:
        with open('output.mp4', 'wb') as f:
            f.write(response.content)
        print("✅ 背景音乐添加成功！")
            </div>
        </div>

        <h3>cURL示例</h3>
        <div class="example">
            <div class="code-block">
# 简单版本
curl -X POST http://localhost:5000/video/add_background_music \
  -F "video=@video.mp4" \
  -F "music=@music.mp3" \
  -F "volume_ratio=0.3" \
  -F "loop_music=true" \
  --output output.mp4

# 高级版本
curl -X POST http://localhost:5000/video/add_background_music_with_options \
  -F "video=@video.mp4" \
  -F "music=@music.mp3" \
  -F "volume_ratio=0.4" \
  -F "loop_music=true" \
  -F "fade_in_duration=2.0" \
  -F "fade_out_duration=3.0" \
  -F "start_time=10.0" \
  -F "end_time=60.0" \
  --output output.mp4
            </div>
        </div>

        <h2>⚠️ 注意事项</h2>
        <div class="warning">
            <ul>
                <li><strong>文件大小限制</strong>：单个文件最大500MB</li>
                <li><strong>处理时间</strong>：大文件处理可能需要较长时间</li>
                <li><strong>内存使用</strong>：处理大文件时请确保服务器有足够内存</li>
                <li><strong>临时文件</strong>：处理完成后会自动清理临时文件</li>
                <li><strong>音频质量</strong>：建议使用高质量音频文件以获得最佳效果</li>
            </ul>
        </div>

        <h2>🔧 故障排除</h2>

        <h3>常见问题：</h3>
        <table>
            <tr>
                <th>问题</th>
                <th>可能原因</th>
                <th>解决方案</th>
            </tr>
            <tr>
                <td>文件上传失败</td>
                <td>文件格式不支持</td>
                <td>检查文件格式是否在支持列表中</td>
            </tr>
            <tr>
                <td>处理失败</td>
                <td>文件损坏或格式错误</td>
                <td>尝试使用其他文件或检查文件完整性</td>
            </tr>
            <tr>
                <td>音量过小</td>
                <td>volume_ratio设置过低</td>
                <td>增加volume_ratio值（0.0-1.0）</td>
            </tr>
            <tr>
                <td>音乐不循环</td>
                <td>loop_music设置为false</td>
                <td>将loop_music设置为true</td>
            </tr>
        </table>

        <h2>📞 技术支持</h2>
        <p>如果您在使用过程中遇到问题，请：</p>
        <ol>
            <li>检查服务器日志获取详细错误信息</li>
            <li>确认文件格式是否支持</li>
            <li>验证文件大小是否在限制范围内</li>
            <li>检查网络连接和服务器状态</li>
        </ol>

        <div class="success">
            <strong>🎉 开始使用！</strong> 现在您可以为视频添加专业的背景音乐了。建议先使用简单版本测试，熟悉后再使用高级功能。
        </div>
    </div>
</body>
</html> 